const env = require('./env');
const config = require('./config');
const tokenApi = require('./token');

const request = {
  _request(params) {
    // tokenApi.asyncGetFromStorage()
      // .then(_token => {
        let url = config.DOMAIN[env] + params.url;
        if (!params.method) {
          params.method = 'GET';
        }
        wx.request({
          url: url,
          data: params.data,
          method: params.method,
          dataType: 'json',
          header: {
            'content-type': 'application/json',
            // 'Token': _token,
          },
          success: function(res) {
            if (res.data.status === config.TOKEN_OVERTIME) {
              console.log('token过期， 重新获取token： ');
              tokenApi.removeStorage();
              return tokenApi.get()
                .then(token => {
                  console.log('重新获取的token： ', token);
                  tokenApi.setStorage(token);
                  _request(params);
                })
              return false;
            }
            params.Trans && params.Trans(res.data);
          },
          fail: function(res) {
            console.log(res);
          }
        })
      // })
  }
}


module.exports = request;